/**
*      author: Y_Yao
*      created: 2024-10-21 18:17:58
**/

#include<bits/stdc++.h>

using namespace std;
using LL = long long;
const LL LLINF = 1e18;
const int INF = 0x3f3f3f3f;
const int N = 1e5 + 7;
const double eps = 1e-8;
double a[N];
int q[N];
double sum[N];
int n = 0;
int s,t;
bool check(double mid)
{
    for(int i = 1;i <= n;i++)
    {
        sum[i] = sum[i - 1] + a[i] - mid;
    }

    int head = 1,tail = 0;
    for(int i = s;i <= n;i++)
    {
        while(head <= tail && sum[q[tail]] > sum[i - s]) tail--;
        q[++tail] = i - s;
        while(head <= tail && q[head] < i - t) head++;
        if(head <= tail && sum[i] - sum[q[head]] >= eps) return true;
    }
    return false;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> n;
    cin >> s >> t;
    for(int i = 1;i <= n;i++)
    {
        cin >> a[i];
    }

    double l = -10000,r = 10000;
    while(r - l > eps)
    {
        double mid = (l + r) / 2;
        if(check(mid)) l = mid;
        else r = mid;
    }
    printf("%.3lf\n",l);

    return 0;
}